iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
自我挑戰組

Java × LeetCode-30天日記系列 第 4

Day 4:Valid Anagram (LC #242)

  • 分享至 

  • xImage
  •  

題目理解
我的理解 : 這題就是判斷兩組是否包含相同字母且只有出現一次。
方法

  1. 建立一個長度 26 的整數陣列 count,對應英文字母 a~z。
  2. 遍歷字串 s,每遇到一個字母,就在對應位置 ++。
  3. 遍歷字串 t,每遇到一個字母,就在對應位置 --。
  4. 最後檢查 count 陣列是否全部為 0。
    https://ithelp.ithome.com.tw/upload/images/20250917/20169238KS1sFv2Jzj.png

心得
這題讓我更理解了字元和數字的對應關係:'a' - 'a' = 0,可以直接把字母映射到陣列索引。比起用 HashMap,陣列更快更省記憶體,適合處理範圍固定的資料(像 a~z)。

  • count[s.charAt(i) - 'a']++;
  • 就能把「字母」轉成「索引」,並把它的出現次數加 1。

上一篇
Day 3:Best Time to Buy and Sell Stock (LeetCode #121)
系列文
Java × LeetCode-30天日記4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言